package controlador;



import persistencia.XMLJuegoRepository;
import persistencia.XMLLaberintoRepository;
import dominio.juego.IJuegoRepository;
import dominio.juego.Juego;
import dominio.laberinto.ILaberintoRepository;
import dominio.laberinto.Laberinto;
import dominio.pacman.Pacman;

public class Principal {

	/**
	 * @param args
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws InterruptedException {
		IJuegoRepository juegoRepository = new XMLJuegoRepository(args[0]);
		ILaberintoRepository laberintoRepository = new XMLLaberintoRepository(args[1]);
		
		Juego juego = juegoRepository.cargar();
		Laberinto laberinto = laberintoRepository.cargar();
		laberinto.setFantasmas(juego.getFantasmas());
		laberinto.setPacman(juego.getPacman());
		
		JuegoController juegoController = new JuegoController();
		juegoController.setJuegoRepository(juegoRepository);
		juegoController.setLaberintoRepository(laberintoRepository);
		juegoController.setJuego(juego);
		juegoController.setLaberinto(laberinto);
		
		PacmanController pacmanController = new PacmanController();
		pacmanController.setPath(args[2]);
		pacmanController.setPacman(Pacman.getInstance());
		
		juegoController.comenzar();
		pacmanController.controlarMovimiento();
		
		juegoController.join();
		System.out.println("Juego Finalizado");

	}

}
